\hypertarget{classCell}{
\section{Cell Class Reference}
\label{classCell}\index{Cell@{Cell}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCell_a394510643e8664cf12b5efaf5cb99f71}{Cell} ()
\item 
virtual \hyperlink{classCell_a9fa559f7a28e2b4336c6879ca09304d8}{$\sim$Cell} ()
\item 
int \hyperlink{classCell_a21d548d458486cb101c787ff34595848}{nextGeneration} ()
\item 
int \hyperlink{classCell_a1b9ffd156292e2412d44e2b0ea43c835}{getScore} (int)
\item 
int \hyperlink{classCell_a7b4cbc6fed25a9a8d5d4c5a60fe85590}{getCellID} ()
\item 
ListDigraph::Node \hyperlink{classCell_a6676a497230bcc7664b9ffd245c395b4}{addProtein} (float)
\item 
ListDigraph::Node \hyperlink{classCell_a4ab6dc23f02be80ae44c9b71bad22579}{addProtein} (\hyperlink{classProtein}{Protein} $\ast$)
\item 
ListDigraph::Node \hyperlink{classCell_a51517080a4d784c1b825dd7bbe520368}{addMRNA} (float)
\item 
ListDigraph::Node \hyperlink{classCell_a7d39f98796a73ac263a52550c99a15d8}{addDNA} (float)
\item 
ListDigraph::Arc \hyperlink{classCell_a1c787fc2fe52788c8271eb815b370aba}{addInteraction} (ListDigraph::Node, ListDigraph::Node, float, float, float, const char $\ast$)
\item 
ListDigraph::Arc \hyperlink{classCell_a62f2f6b4de9c76c6ead913b783fd8535}{addInteraction} (ListDigraph::Node, ListDigraph::Node, \hyperlink{structQuantity}{Quantity} $\ast$, float, float, const char $\ast$)
\item 
int \hyperlink{classCell_ad316c047bcd04f6b4f0a3fe6cf3f2eaf}{newComplex} ()
\item 
int \hyperlink{classCell_a8ec1b55132525da1ae7bf7f05b9e4893}{newBasic} ()
\item 
int \hyperlink{classCell_a2d93a1672e574f231c86d86067b31f74}{fwdRateChange} ()
\item 
int \hyperlink{classCell_a3a80841a57d54309973dc947427f91f6}{revRateChange} ()
\item 
int \hyperlink{classCell_acec681969db4cc0fb80021a5613d8e8c}{degRateChange} ()
\item 
int \hyperlink{classCell_ac0159abe04ce33e168782e646a4424e3}{newPostTransMod} ()
\item 
int \hyperlink{classCell_af8333316f26868a1f1cad1291c8770f4}{histoneMod} ()
\item 
int \hyperlink{classCell_a97385b8986611c19ff9f97597a33a6ff}{newPromoter} ()
\item 
bool \hyperlink{classCell_a3184d63ac9ee1e4cb60b9fd38c870bf0}{isComplexed} (\hyperlink{classProtein}{Protein} $\ast$, \hyperlink{classProtein}{Protein} $\ast$)
\item 
void \hyperlink{classCell_ac165ee3b5920d5b4ac200ae6b016cea8}{rungeKuttaEvaluate} (float, float)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCell_af298febd07d00412cb21193635dd994f}{
ListDigraph $\ast$ {\bfseries equations}}
\label{classCell_af298febd07d00412cb21193635dd994f}

\item 
\hypertarget{classCell_ac351fcdec263944de0ed9ee450e76c8d}{
ListDigraph::NodeMap$<$ \hyperlink{classMolecule}{Molecule} $\ast$ $>$ $\ast$ {\bfseries vertexes}}
\label{classCell_ac351fcdec263944de0ed9ee450e76c8d}

\item 
\hypertarget{classCell_a1b62bdc51780e9563773cea863f7a733}{
ListDigraph::ArcMap$<$ \hyperlink{classInteraction}{Interaction} $\ast$ $>$ $\ast$ {\bfseries edges}}
\label{classCell_a1b62bdc51780e9563773cea863f7a733}

\item 
\hypertarget{classCell_af598915eaed383dd52b2abe21dec00d0}{
vector$<$ \hyperlink{classProtein}{Protein} $\ast$ $>$ {\bfseries proteinList}}
\label{classCell_af598915eaed383dd52b2abe21dec00d0}

\item 
\hypertarget{classCell_ab3aecc9b39def0a1444b4c2c7cddf059}{
int {\bfseries cellID}}
\label{classCell_ab3aecc9b39def0a1444b4c2c7cddf059}

\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classCell_a394510643e8664cf12b5efaf5cb99f71}{
\index{Cell@{Cell}!Cell@{Cell}}
\index{Cell@{Cell}!Cell@{Cell}}
\subsubsection[{Cell}]{\setlength{\rightskip}{0pt plus 5cm}Cell::Cell ()}}
\label{classCell_a394510643e8664cf12b5efaf5cb99f71}
\hyperlink{classCell}{Cell} constructor.

The \hyperlink{classCell}{Cell} contains all information about its kinetic equations (in the form of a Directed Graph) describing the concentration of the Molecules it contains. The \hyperlink{classCell}{Cell} constructor also creates the directory structure to hold associated output files. \hypertarget{classCell_a9fa559f7a28e2b4336c6879ca09304d8}{
\index{Cell@{Cell}!$\sim$Cell@{$\sim$Cell}}
\index{$\sim$Cell@{$\sim$Cell}!Cell@{Cell}}
\subsubsection[{$\sim$Cell}]{\setlength{\rightskip}{0pt plus 5cm}Cell::$\sim$Cell ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCell_a9fa559f7a28e2b4336c6879ca09304d8}
\hyperlink{classCell}{Cell} destructor.

Close output file, delete molecule and interaction objects, and delete other containers. 

\subsection{Member Function Documentation}
\hypertarget{classCell_a7d39f98796a73ac263a52550c99a15d8}{
\index{Cell@{Cell}!addDNA@{addDNA}}
\index{addDNA@{addDNA}!Cell@{Cell}}
\subsubsection[{addDNA}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Node Cell::addDNA (float {\em concentration})}}
\label{classCell_a7d39f98796a73ac263a52550c99a15d8}
Add a \hyperlink{classDNA}{DNA} with the given initial concentration to the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em concentration}]Initial concentration for the new \hyperlink{classDNA}{DNA}\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A Node object in the graph containing a newly created \hyperlink{classDNA}{DNA}. 
\end{DoxyReturn}
\hypertarget{classCell_a62f2f6b4de9c76c6ead913b783fd8535}{
\index{Cell@{Cell}!addInteraction@{addInteraction}}
\index{addInteraction@{addInteraction}!Cell@{Cell}}
\subsubsection[{addInteraction}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Arc Cell::addInteraction (ListDigraph::Node {\em from}, \/  ListDigraph::Node {\em to}, \/  {\bf Quantity} $\ast$ {\em rate}, \/  float {\em substrateFactor}, \/  float {\em productFactor}, \/  const char $\ast$ {\em interactionName})}}
\label{classCell_a62f2f6b4de9c76c6ead913b783fd8535}
Add an interation between two nodes in the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em from}]The Node in the graph containing the substrate \hyperlink{classMolecule}{Molecule} \item[{\em to}]The Node in the graph containing the product \hyperlink{classMolecule}{Molecule} \item[{\em rate}]A pointer to a \hyperlink{structQuantity}{Quantity} object containing the rate at which the reaction takes place \item[{\em substrateFactor}]A constant multiplied factor of the amount of substrate \hyperlink{classMolecule}{Molecule} consumed \item[{\em productFactor}]A constant multiplied factor of the amount of product \hyperlink{classMolecule}{Molecule} produced \item[{\em interactionName}]A description for the interaction (fwd, rev, deg, txn, tsln)\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Arc object in the graph containing the newly created \hyperlink{classInteraction}{Interaction}. 
\end{DoxyReturn}
\hypertarget{classCell_a1c787fc2fe52788c8271eb815b370aba}{
\index{Cell@{Cell}!addInteraction@{addInteraction}}
\index{addInteraction@{addInteraction}!Cell@{Cell}}
\subsubsection[{addInteraction}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Arc Cell::addInteraction (ListDigraph::Node {\em from}, \/  ListDigraph::Node {\em to}, \/  float {\em rate}, \/  float {\em substrateFactor}, \/  float {\em productFactor}, \/  const char $\ast$ {\em interactionName})}}
\label{classCell_a1c787fc2fe52788c8271eb815b370aba}
Add an interation between two nodes in the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em from}]The Node in the graph containing the substrate \hyperlink{classMolecule}{Molecule} \item[{\em to}]The Node in the graph containing the product \hyperlink{classMolecule}{Molecule} \item[{\em rate}]The kinetic rate at which the reaction takes place \item[{\em substrateFactor}]A constant multiplied factor of the amount of substrate \hyperlink{classMolecule}{Molecule} consumed \item[{\em productFactor}]A constant multiplied factor of the amount of product \hyperlink{classMolecule}{Molecule} produced \item[{\em interactionName}]A description for the interaction (fwd, rev, deg, txn, tsln)\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Arc object in the graph containing the newly created \hyperlink{classInteraction}{Interaction}. 
\end{DoxyReturn}
\hypertarget{classCell_a51517080a4d784c1b825dd7bbe520368}{
\index{Cell@{Cell}!addMRNA@{addMRNA}}
\index{addMRNA@{addMRNA}!Cell@{Cell}}
\subsubsection[{addMRNA}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Node Cell::addMRNA (float {\em concentration})}}
\label{classCell_a51517080a4d784c1b825dd7bbe520368}
Add an \hyperlink{classMRNA}{MRNA} with the given initial concentration to the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em concentration}]Initial concentration for the new \hyperlink{classMRNA}{MRNA}\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A Node object in the graph containing a newly created \hyperlink{classMRNA}{MRNA}. 
\end{DoxyReturn}
\hypertarget{classCell_a4ab6dc23f02be80ae44c9b71bad22579}{
\index{Cell@{Cell}!addProtein@{addProtein}}
\index{addProtein@{addProtein}!Cell@{Cell}}
\subsubsection[{addProtein}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Node Cell::addProtein ({\bf Protein} $\ast$ {\em protein})}}
\label{classCell_a4ab6dc23f02be80ae44c9b71bad22579}
Add an existing protein object to the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em protein}]Pointer to a protein to add to the graph.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A Node object in the graph containing the newly added \hyperlink{classProtein}{Protein}. 
\end{DoxyReturn}
\hypertarget{classCell_a6676a497230bcc7664b9ffd245c395b4}{
\index{Cell@{Cell}!addProtein@{addProtein}}
\index{addProtein@{addProtein}!Cell@{Cell}}
\subsubsection[{addProtein}]{\setlength{\rightskip}{0pt plus 5cm}ListDigraph::Node Cell::addProtein (float {\em concentration})}}
\label{classCell_a6676a497230bcc7664b9ffd245c395b4}
Add a protein with the given initial concentration to the \hyperlink{classCell}{Cell}.


\begin{DoxyParams}{Parameters}
\item[{\em concentration}]Initial concentration for the new \hyperlink{classProtein}{Protein}\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A Node object in the graph containing a newly created \hyperlink{classProtein}{Protein}. 
\end{DoxyReturn}
\hypertarget{classCell_acec681969db4cc0fb80021a5613d8e8c}{
\index{Cell@{Cell}!degRateChange@{degRateChange}}
\index{degRateChange@{degRateChange}!Cell@{Cell}}
\subsubsection[{degRateChange}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::degRateChange ()}}
\label{classCell_acec681969db4cc0fb80021a5613d8e8c}
Random rate change of a degradation interaction. \hypertarget{classCell_a2d93a1672e574f231c86d86067b31f74}{
\index{Cell@{Cell}!fwdRateChange@{fwdRateChange}}
\index{fwdRateChange@{fwdRateChange}!Cell@{Cell}}
\subsubsection[{fwdRateChange}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::fwdRateChange ()}}
\label{classCell_a2d93a1672e574f231c86d86067b31f74}
Random rate change of a forward (protein -\/$>$ ptm, protein -\/$>$ complex) or translation/transcription interaction. \hypertarget{classCell_a7b4cbc6fed25a9a8d5d4c5a60fe85590}{
\index{Cell@{Cell}!getCellID@{getCellID}}
\index{getCellID@{getCellID}!Cell@{Cell}}
\subsubsection[{getCellID}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::getCellID ()}}
\label{classCell_a7b4cbc6fed25a9a8d5d4c5a60fe85590}
Return the current CellID.

Upon creation, each \hyperlink{classCell}{Cell} receives a unique increasing ID.

\begin{DoxyReturn}{Returns}
Unique identifier for the current \hyperlink{classCell}{Cell}. 
\end{DoxyReturn}
\hypertarget{classCell_a1b9ffd156292e2412d44e2b0ea43c835}{
\index{Cell@{Cell}!getScore@{getScore}}
\index{getScore@{getScore}!Cell@{Cell}}
\subsubsection[{getScore}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::getScore (int {\em scoringType})}}
\label{classCell_a1b9ffd156292e2412d44e2b0ea43c835}
Assign a score to the \hyperlink{classCell}{Cell} based on Runge-\/Kutta data calculated for Molecules.

The scoring method checks successive data points, and counts the number of times the slope changes between positive or negative.

The Cell's score is then taken to be equal to the \hyperlink{classMolecule}{Molecule} with the highest score (most number of changes).

\begin{DoxyReturn}{Returns}
The score of the Runge-\/Kutta data of the current Cell/Generation as determined by the evaluation function. 
\end{DoxyReturn}
\hypertarget{classCell_af8333316f26868a1f1cad1291c8770f4}{
\index{Cell@{Cell}!histoneMod@{histoneMod}}
\index{histoneMod@{histoneMod}!Cell@{Cell}}
\subsubsection[{histoneMod}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::histoneMod ()}}
\label{classCell_af8333316f26868a1f1cad1291c8770f4}
Apply a histone modification to a random transcription interaction. \hypertarget{classCell_a3184d63ac9ee1e4cb60b9fd38c870bf0}{
\index{Cell@{Cell}!isComplexed@{isComplexed}}
\index{isComplexed@{isComplexed}!Cell@{Cell}}
\subsubsection[{isComplexed}]{\setlength{\rightskip}{0pt plus 5cm}bool Cell::isComplexed ({\bf Protein} $\ast$ {\em p1}, \/  {\bf Protein} $\ast$ {\em p2})}}
\label{classCell_a3184d63ac9ee1e4cb60b9fd38c870bf0}
Fill in \hypertarget{classCell_a8ec1b55132525da1ae7bf7f05b9e4893}{
\index{Cell@{Cell}!newBasic@{newBasic}}
\index{newBasic@{newBasic}!Cell@{Cell}}
\subsubsection[{newBasic}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::newBasic ()}}
\label{classCell_a8ec1b55132525da1ae7bf7f05b9e4893}
Fill in \hypertarget{classCell_ad316c047bcd04f6b4f0a3fe6cf3f2eaf}{
\index{Cell@{Cell}!newComplex@{newComplex}}
\index{newComplex@{newComplex}!Cell@{Cell}}
\subsubsection[{newComplex}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::newComplex ()}}
\label{classCell_ad316c047bcd04f6b4f0a3fe6cf3f2eaf}
Fill in \hypertarget{classCell_ac0159abe04ce33e168782e646a4424e3}{
\index{Cell@{Cell}!newPostTransMod@{newPostTransMod}}
\index{newPostTransMod@{newPostTransMod}!Cell@{Cell}}
\subsubsection[{newPostTransMod}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::newPostTransMod ()}}
\label{classCell_ac0159abe04ce33e168782e646a4424e3}
Apply a Post-\/Translational Modification to a randomly chosen \hyperlink{classProtein}{Protein}. \hypertarget{classCell_a97385b8986611c19ff9f97597a33a6ff}{
\index{Cell@{Cell}!newPromoter@{newPromoter}}
\index{newPromoter@{newPromoter}!Cell@{Cell}}
\subsubsection[{newPromoter}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::newPromoter ()}}
\label{classCell_a97385b8986611c19ff9f97597a33a6ff}
Not implemented \hypertarget{classCell_a21d548d458486cb101c787ff34595848}{
\index{Cell@{Cell}!nextGeneration@{nextGeneration}}
\index{nextGeneration@{nextGeneration}!Cell@{Cell}}
\subsubsection[{nextGeneration}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::nextGeneration ()}}
\label{classCell_a21d548d458486cb101c787ff34595848}
Increment the current generation number, and mutate the \hyperlink{classCell}{Cell}.

\begin{DoxyReturn}{Returns}
The return value of the mutate() method 
\end{DoxyReturn}
\hypertarget{classCell_a3a80841a57d54309973dc947427f91f6}{
\index{Cell@{Cell}!revRateChange@{revRateChange}}
\index{revRateChange@{revRateChange}!Cell@{Cell}}
\subsubsection[{revRateChange}]{\setlength{\rightskip}{0pt plus 5cm}int Cell::revRateChange ()}}
\label{classCell_a3a80841a57d54309973dc947427f91f6}
Random rate change of a reverse interaction. \hypertarget{classCell_ac165ee3b5920d5b4ac200ae6b016cea8}{
\index{Cell@{Cell}!rungeKuttaEvaluate@{rungeKuttaEvaluate}}
\index{rungeKuttaEvaluate@{rungeKuttaEvaluate}!Cell@{Cell}}
\subsubsection[{rungeKuttaEvaluate}]{\setlength{\rightskip}{0pt plus 5cm}void Cell::rungeKuttaEvaluate (float {\em rkTimestep}, \/  float {\em rkTimeLimit})}}
\label{classCell_ac165ee3b5920d5b4ac200ae6b016cea8}
Calculate concentration values for molecules in the cell over time, using the 4th order Runge-\/Kutta method.

The Directed Graph (ListDigraph equations) is representative of the differential equations which describe the concentrations of the Molecules. This implementation of Runge-\/Kutta operates directly on the DiGraph to calculate successive data points (x,y) = (t$\ast$rkTimestep, rkData\mbox{[}t\mbox{]}) while t$\ast$rkTimestep $<$ rkTimeLimit 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
Cell.h\item 
Cell.cpp\end{DoxyCompactItemize}
